ATM-POLICY-CONSTRAINT-MIB DEFINITIONS::=BEGINIMPORTSMODULE-IDENTITY,OBJECT-TYPE,Integer32,enterprises
FROM SNMPv2-SMI
TEXTUAL-CONVENTION,RowStatus,DisplayStringFROM SNMPv2-TC
MODULE-COMPLIANCE,OBJECT-GROUPFROM SNMPv2-CONF;atmPolicyConstraintMIB MODULE-IDENTITYLAST-UPDATED"200307080000Z"ORGANIZATION"The ATM Forum."CONTACT-INFO"The ATM Forum
2570 West El Camino Real, Suite 304
Mountain View, CA 94040-1313 USA
Phone: +1 650-949-670
Fax: +1 415-949-6705
info@atmforum.com"DESCRIPTION"The MIB module for Policy Contraints of ATM Forum
Policy Routing.
The Policy Constraint MIB is organized as two main tables:
the policyConstraintTable and the policyTable.
The policyConstraintTable provides the entries that
can be referenced by other MIB objects to utilize
a policy constraint. Each entry in the table contains a set of
up to six pointers into the policyTable. The policyTable
specifies the operators of a policy. Associated with the
policyTable are the policyNeNscTable and the policyRpNscTable.
These two tables contain the lists of NSCs on which the
policy operators operate.
To create a policy, the management station should first
create an associated instance of the row status in a
policyEntry, using a value of policyIndex that
is not currently in use. The object policyNextPolicyIndex
can be read to get an available policyIndex.
It must also, either in the same or in successive PDUs,
create the associated instances of the Ne-NSC and
Rp-NSC lists for the policyIndex. It should also
specify the values for the policy operators.
Once the appropriate instance of all the configuration
objects have been created for the policyEntry,
policyRpNscEntry, and the policyNeNscEntry (as appropriate),
the row status of the policyEntry should be set to active
to activate the policy.
The policy constraint table can include pointers to
policies that are notReady but they must exist.
If such a policy constraint is used for a call establishment
request, then that policy is not used in the signaled
policy constraint.
"REVISION"200307080000Z"DESCRIPTION"Initial version of the MIB for Policy Constraints."::={ atmfPolicyConstraint 1}atmForum OBJECTIDENTIFIER::={ enterprises 353}atmForumNetworkManagement OBJECTIDENTIFIER::={ atmForum 5}atmfSignalling OBJECTIDENTIFIER::={ atmForumNetworkManagement 9}atmfPolicyConstraint OBJECTIDENTIFIER::={ atmfSignalling 5}policyConstraintMIBObjects OBJECTIDENTIFIER::={ atmPolicyConstraintMIB 1}-- Textual ConventionsNetworkEntityNetworkServiceCategory::=TEXTUAL-CONVENTIONSTATUScurrentDESCRIPTION"A Network Entity Network Service Category (Ne-NSC)
is a Network Service Category (NSC) that applies
to the entire network entity (including all resources)
and advertises properties of the network entity. The
term network entity refers to a horizontal link, an
uplink, a node, a spoke, a bypass or a set of reachable
ATM addresses.
Ne-NSC identifier values within the range 65000
through 65535, inclusive, are well known Ne-NSCs.
The semantics of well-known Ne-NSCs are defined by
the ATM Forum.
The distinguished value of 65536 is used to indicate
an invalid value and is used to remove Ne-NSC entries
from Ne-NSC lists."REFERENCE"ATMF Policy Routing Version 1.0"SYNTAXInteger32(1..65536)ResourcePartitionNetworkServiceCategory::=TEXTUAL-CONVENTIONSTATUScurrentDESCRIPTION"A Resource Partition NSC (Rp-NSC) is an NSC that applies
to a resource partition of a network entity. Note that
association of a set of Rp-NSCs to a resource partition
mandates that connections specify at least one of these
Rp-NSCs as part of their associated policy in order to
have access to resources of that partition. Those
resources are then used to determine whether the resource
partition is acceptable for carrying a given connection.
The Rp-NSC Identifier value 0 is referred to as Rp-NSC_Bare
and identifies bare resources. Rp-NSC identifier values
within the range 65000 through 65535, inclusive, are well
known Ne-NSCs. The semantics of well-known Ne-NSCs are
defined by the ATM Forum.
"REFERENCE"ATMF Policy Routing Version 1.0"SYNTAXInteger32(0..65535)PolicyConstraintIndex::=TEXTUAL-CONVENTIONSTATUScurrentDESCRIPTION"The value of this object identifies a row in the
policyConstraintTable. This row identifier can
be used within other MIBs to apply a policy constraint
to a connection establishment request. The distinguished
value zero signifies that no row has been identified.
The maximum value for this index is controlled by the
policyConstraintMaxium object.
The distinguished value of 0 is used to indicate
an invalid value."SYNTAXInteger32(0..65535)PolicyConstraintPolicyIndex::=TEXTUAL-CONVENTIONSTATUScurrent
DESCRIPTION"The value of this object identifies the position of
a policy with a policy constraint. The policies are
applied in the order of 1 first and 6 last."SYNTAXInteger32(1..6)PolicyIndex::=TEXTUAL-CONVENTIONSTATUScurrentDESCRIPTION"The value of this object identifies a row in the
policyTable. It is used within the
policyConstraintTable to identify which policy is
in use in the policy constraint. The distinguished value zero
signifies that no policy is defined."SYNTAXInteger32(0..65535)PolicyOperator::=TEXTUAL-CONVENTIONSTATUScurrentDESCRIPTION"The value of this object identifies a row in the
policyNeNscTable. It is used to distinguish between the
Ne-NSC list used for a require and the must avoid part
of a policy."SYNTAXINTEGER{requires(1),mustAvoid(2)}policyConstraintBaseGroup OBJECTIDENTIFIER::={ policyConstraintMIBObjects 1}policyConstraintMaximum OBJECT-TYPESYNTAXInteger32(0..65535)MAX-ACCESSread-writeSTATUScurrentDESCRIPTION"The maximum number of concurrent active policy constraints
that are allowed by the agent. A value of 0 for this
object implies that there is no limit on the number of
concurrent active policy constraints."::={ policyConstraintBaseGroup 1}policyMaximum OBJECT-TYPESYNTAXInteger32(0..65535)MAX-ACCESSread-writeSTATUScurrentDESCRIPTION"The maximum number of concurrent active policies
that are allowed by the agent. A value of 0 for this
object implies that there is no limit on the number of
concurrent active policies."::={ policyConstraintBaseGroup 2}policyNeNSCListMaximum OBJECT-TYPESYNTAXInteger32(0..65535)MAX-ACCESSread-writeSTATUScurrentDESCRIPTION"The maximum number of Ne-NSCs that can be included
in the Ne-NSC list of a policy. A value of 0 for this
object implies that there is no limit."::={ policyConstraintBaseGroup 3}policyRpNSCListMaximum OBJECT-TYPESYNTAXInteger32(0..65535)MAX-ACCESSread-writeSTATUScurrentDESCRIPTION"The maximum number of Rp-NSC entries that can be included
in the Rp-NSC list of a policy. A value of 0 for this
object implies that there is no limit."::={ policyConstraintBaseGroup 4}policyConstraintGroup OBJECTIDENTIFIER::={ policyConstraintMIBObjects 2}policyNextPolicyConstraintIndex OBJECT-TYPESYNTAXPolicyConstraintIndex
MAX-ACCESSread-onlySTATUScurrentDESCRIPTION"Coordinate policyConstraintIndex value allocation for
entries in the policyConstraintTable.
A GET of this object returns the next available
policyConstraintIndex to be used to create an entry in the
policyTable; or zero if no valid policyIndex value
is available. This object also returns a value of zero
when it is the lexicographic successor of a varbind
presented in an SNMP GETNEXT or GETBULK request, for which
circumstance it is assumed that policyConstraintIndex
allocation is unintended.
Successive GETs will typically return different values,
Thus avoiding collisions among cooperating management
clients seeking to create table entries simultaneously."::={ policyConstraintGroup 1}policyConstraintTable OBJECT-TYPESYNTAXSEQUENCEOF PolicyConstraintEntry
MAX-ACCESSnot-accessibleSTATUScurrent
DESCRIPTION"The table whose entries describe the policy constraints
configured in the agent."::={ policyConstraintGroup 2}policyConstraintEntry OBJECT-TYPESYNTAX PolicyConstraintEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"Each entry in this table specifies a policy constraint.
The policy constraint consists of up to 6 policies.
A policy constraint must contain at least one policy
if it is to be used in another MIB object.
The order of the policies within the policy constraint
is important and defines the order in which the policies
are to be applied during path selection and call
establishment.
If a policy is specified in the policy constraint, but that
policy does not exist as an active row of the policyTable,
then that policy is ignored when the policy constraint is used
for call establishment."INDEX{ policyConstraintIndex,
policyConstraintPolicyIndex}::={ policyConstraintTable 1}
PolicyConstraintEntry ::=SEQUENCE{
policyConstraintIndex PolicyConstraintIndex,
policyConstraintPolicyIndex PolicyConstraintPolicyIndex,
policyIndex PolicyIndex,
policyConstraintRowStatus RowStatus}policyConstraintIndex OBJECT-TYPESYNTAXPolicyConstraintIndexMAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"An arbitrary integer uniquely identifying a policy
constraint. Its value can be used within other managed
objects to apply a policy constraint to the object."::={ policyConstraintEntry 1}policyConstraintPolicyIndex OBJECT-TYPE
SYNTAXPolicyConstraintPolicyIndexMAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"An integer uniquely identifying a policy
within a policy constraint. The value of this
index defines the order in which the policies
of the policy constraint are applied."::={ policyConstraintEntry 2}policyIndex OBJECT-TYPESYNTAXPolicyIndexMAX-ACCESSread-createSTATUScurrentDESCRIPTION"The index into the policyTable for the policy
to be used in a given position within the
the policy constraint. There must be an entry
in the policyTable for this policy index
or the set is rejected.
The distinguished value of zero may be used to indicate
no policy is to be used in the position."::={ policyConstraintEntry 3}
policyConstraintRowStatus OBJECT-TYPESYNTAXRowStatusMAX-ACCESSread-createSTATUScurrentDESCRIPTION"To create, delete, activate and de-activate a row
of a policy constraint.
Only those rows of the PolicyConstraintTable that have
an active status are considered when the policyConstraintIndex
is used for call establishment.
"::={ policyConstraintEntry 4}policyConstraintNameTable OBJECT-TYPESYNTAXSEQUENCEOF PolicyConstraintNameEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The table whose entries define the names for the policy
constraints."::={ policyConstraintGroup 3}policyConstraintNameEntry OBJECT-TYPE
SYNTAX PolicyConstraintNameEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"Each entry in this table specifies a name of a
policy constraint."INDEX{ policyConstraintIndex }::={ policyConstraintNameTable 1}
PolicyConstraintNameEntry ::=SEQUENCE{
policyConstraintName DisplayString,
policyConstraintNameRowStatus RowStatus}policyConstraintName OBJECT-TYPESYNTAXDisplayStringMAX-ACCESSread-createSTATUScurrentDESCRIPTION"The name of the Policy Constraint. This is used
to facilitate management of the policy constraints
between SNMP and other management interfaces."DEFVAL{""}::={ policyConstraintNameEntry 1}policyConstraintNameRowStatus OBJECT-TYPESYNTAXRowStatusMAX-ACCESSread-createSTATUScurrentDESCRIPTION"To create, delete, activate and de-activate a name
of a policy constraint."::={ policyConstraintNameEntry 2}policyGroup OBJECTIDENTIFIER::={ policyConstraintMIBObjects 3}policyNextPolicyIndex OBJECT-TYPESYNTAXPolicyIndexMAX-ACCESSread-onlySTATUScurrentDESCRIPTION
"Coordinate policyIndex value allocation for entries in
policyTable.
A GET of this object returns the next available policyIndex
to be used to create an entry in the policyTable; or zero if
no valid policyIndex value is available. This object also
returns a value of zero when it is the lexicographic
successor of a varbind presented in an SNMP GETNEXT or
GETBULK request, for which circumstance it is assumed
that policyIndex allocation is unintended.
Successive GETs will typically return different values,
Thus avoiding collisions among cooperating management
clients seeking to create table entries simultaneously."::={ policyGroup 1}policyTable OBJECT-TYPESYNTAXSEQUENCEOF PolicyEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The table whose entries describe the policies
configured.
Each policy contains two possible policy operators:
'require' and 'must avoid'. The require policy
operator can be applied with an Ne-NSC list, an Rp-NSC
list or both. The must avoid policy operator can
be applied with only an Ne-NSc list.
In order to create a new policy, the policyRowStatus
should be set to createAndWait. The status should
not be set to active until the remaining objects
of the entry have been specified.
If an existing entry is to be modified, then the RowStatus
should be set to notInService, the objects modified,
and then the RowStatus set to active.
If the RowStatus is set to indicate that the entry
is to become active (CreateAndGo or Active), then the
following rules are checked:
1) At least one of requireNeNscOperator or
requireRpNscOperator or mustAvoidNeNscOperator
must be specified.
2) If the requireNeNscOperator is specified,
then at least one Ne-NSC value must
exist in an active row of the policyNeNscTable for this
policyIndex and an policyOperator of require.
3) If the requireRpNscOperator is specified,
then at least one Rp-NSC value must
exist in an active row of the policyRpNscTable for this
policyIndex.
4) If the mustAvoidNeNscOperator is specified,
then at least one Ne-NSC value must
exist in an active row of the policyNeNscTable for this
policyIndex and an policyOperator
of mustAvoid.
If a row is deleted from this table, then the corresponding
rows of the policyNeNscTable and policyRpNscTable are also
deleted. In addition, any entries in the policyConstraintTable
that reference this policyIndex are removed. "::={ policyGroup 2}policyEntry OBJECT-TYPESYNTAX PolicyEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"An entry representing a policy."INDEX{ policyIndex }::={ policyTable 1}
PolicyEntry ::=SEQUENCE{
policyName DisplayString,
requireNeNscOperator INTEGER,
requireRpNscOperator INTEGER,
mustAvoidNeNscOperator INTEGER,
policyRowStatus RowStatus}policyName OBJECT-TYPESYNTAXDisplayStringMAX-ACCESSread-createSTATUScurrentDESCRIPTION"A textual string describing the policy. This is used
to facilitate management of the policies
between SNMP and other management interfaces."DEFVAL{""}::={ policyEntry 1}requireNeNscOperator OBJECT-TYPESYNTAXINTEGER{noop(1),logicalAND(2),logicalOR(3)
}MAX-ACCESSread-createSTATUScurrentDESCRIPTION"An integer identifying the NSC List operator
for the Ne-NSC list of the require policy operator.
The policy operator singleNeNsc is assumed if only one Ne-NSC
is specified in the associated Ne-NSC list. "DEFVAL{ noop }::={ policyEntry 2}requireRpNscOperator OBJECT-TYPESYNTAXINTEGER{noop(1),logicalAND(2),logicalOR(3)}MAX-ACCESSread-createSTATUScurrent
DESCRIPTION"An integer identifying the NSC List operator
for the Rp-NSC list of the require policy operator.
The policy operator singleRpNsc is assumed if only one Rp-NSC
is specified in the associated Ne-NSC list. "DEFVAL{ noop }::={ policyEntry 3}mustAvoidNeNscOperator OBJECT-TYPESYNTAXINTEGER{noop(1),logicalAND(2),logicalOR(3)}MAX-ACCESSread-createSTATUScurrentDESCRIPTION"An integer identifying the NSC List operator
for the Ne-NSC list of the must avoid policy operator.
The policy operator singleNeNsc is assumed if only one Ne-NSC
is specified in the associated Ne-NSC list. "DEFVAL{ noop }::={ policyEntry 4}policyRowStatus OBJECT-TYPESYNTAXRowStatusMAX-ACCESSread-createSTATUScurrentDESCRIPTION"Used to create and delete entries in this table.
When a new entry is being created or an existing
entry is being modified, then the RowStatus
should be set to createAndWait or notInService. Once
the objects for this row have been set, then the RowStatus
should be set to active. When a row is active, it can be
used in a policy constraint to effect the establishment
of a call. If a policy is used in a policy constraint
while it is not active, then it shall be ignored
during call establishment."::={ policyEntry 5}policyNeNscTable OBJECT-TYPESYNTAXSEQUENCEOF PolicyNeNscEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The table whose entries describe the NeNSCs of the Ne-NSC lists
of a policy."::={ policyGroup 3}policyNeNscEntry OBJECT-TYPESYNTAX PolicyNeNscEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"An entry representing the Ne-NSC list for a policy."INDEX{ policyIndex,
policyOperator,
policyNeNscIndex }::={ policyNeNscTable 1}
PolicyNeNscEntry ::=SEQUENCE{
policyNeNscIndex Integer32,
policyOperator PolicyOperator,
policyNeNsc NetworkEntityNetworkServiceCategory,
policyNeNscRowStatus RowStatus}policyNeNscIndex OBJECT-TYPESYNTAXInteger32(1..65535)MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"An integer identifying the NeNSC within the Ne_NSC list
of a policy."::={ policyNeNscEntry 1}policyOperator OBJECT-TYPESYNTAXPolicyOperatorMAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"An integer identifying whether the Ne-NSC list
is part of the require or must avoid operator
of a policy."
::={ policyNeNscEntry 2}policyNeNsc OBJECT-TYPESYNTAXNetworkEntityNetworkServiceCategoryMAX-ACCESSread-createSTATUScurrentDESCRIPTION"One of the Ne-NSCs of the Ne-NSC list of the policy.
The policyNeNscOperator object defines how the list
is to be used by the policy.
Setting this object with a value of 65536 is equivalent
to deleting the object. Deleting the object will fail
if there are no other policyNeNsc objects with the same
policyIndex and policyOperator and the policyRowStatus
object for the policyIndex has the value active"::={ policyNeNscEntry 3}policyNeNscRowStatus OBJECT-TYPESYNTAXRowStatusMAX-ACCESSread-createSTATUScurrentDESCRIPTION"Used to create and delete entries in this table.
When a new entry is being created or an existing
entry is being modified, then the RowStatus
should be set to createAndWait or notInService. Once
the objects for this row have been set, then the RowStatus
should be set to active. When a row is active, it can be
used in a policy to effect the establishment
of a call. If a policyNeNscEntry is used in a policy
while it is not active, then it shall be ignored
during the application of the policy."::={ policyNeNscEntry 4}policyRpNscTable OBJECT-TYPESYNTAXSEQUENCEOF PolicyRpNscEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"The table whose entries describe the RpNSCs of the Rp-NSC list
of a policy."::={ policyGroup 4}policyRpNscEntry OBJECT-TYPESYNTAX PolicyRpNscEntry
MAX-ACCESSnot-accessible
STATUScurrentDESCRIPTION"An entry representing the Ne-NSC list for a policy."INDEX{ policyIndex,
policyRpNscIndex }::={ policyRpNscTable 1}
PolicyRpNscEntry ::=SEQUENCE{
policyRpNscIndex Integer32,
policyRpNsc ResourcePartitionNetworkServiceCategory,
policyRpNscRowStatus RowStatus}policyRpNscIndex OBJECT-TYPESYNTAXInteger32(1..65535)MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"An integer identifying the RpNSC within the Rp_NSC list
of a policy."::={ policyRpNscEntry 1}policyRpNsc OBJECT-TYPESYNTAXResourcePartitionNetworkServiceCategoryMAX-ACCESSread-createSTATUScurrentDESCRIPTION"One of the Rp-NSCs of the Rp-NSC list of the policy.
The policyRpNscOperator object defines how the list
is to be used by the policy.
Setting this object with a value of 65536 is equivalent
to deleting the object. Deleting the object will fail
if there are no other policyRpNsc objects with the same
policyIndex and the policyRowStatus
object for the policyIndex has the value active"::={ policyRpNscEntry 2}policyRpNscRowStatus OBJECT-TYPESYNTAXRowStatusMAX-ACCESSread-createSTATUScurrentDESCRIPTION"Used to create and delete entries in this table.
When a new entry is being created or an existing
entry is being modified, then the RowStatus
should be set to createAndWait or notInService. Once
the objects for this row have been set, then the RowStatus
should be set to active. When a row is active, it can be
used in a policy to effect the establishment
of a call. If a policyRpNSC Entry is used in a policy
while it is not active, then it shall be ignored
during the application of that policy"::={ policyRpNscEntry 3}policyReferenceTable OBJECT-TYPESYNTAXSEQUENCEOF PolicyReferenceEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"This table provides pointers to entries in the
policyConstraintTable that reference the policyIndex.
This is provided to facilitate management of the
policies and policy constraints.
"::={ policyGroup 5}
policyReferenceEntry OBJECT-TYPESYNTAX PolicyReferenceEntry
MAX-ACCESSnot-accessibleSTATUScurrentDESCRIPTION"An entry for the policy reference table.
"INDEX{ policyIndex,
policyConstraintIndex }::={ policyReferenceTable 1}
PolicyReferenceEntry ::=SEQUENCE{
policyReferencePCIndex PolicyConstraintIndex}policyReferencePCIndex OBJECT-TYPESYNTAXPolicyConstraintIndexMAX-ACCESSread-onlySTATUScurrentDESCRIPTION"If any of the entries of the PolicyConstraintTable
for the specified policyConstraintIndex has a value
for its policyIndex that matches the policyIndex
of this entry, then this returns the
policyConstraintIndex; otherwise, the value zero is
returned.
This object should be walked using GETNEXT
and specifying an initial value of zero for the
policyConstraintIndex. If a value of zero is returned,
then there are no more matching entries for the policyIndex.
"::={ policyReferenceEntry 1}-- conformance informationpolicyConstraintMIBConformance
OBJECTIDENTIFIER::={ policyConstraintMIBObjects 4}policyConstraintMIBCompliances
OBJECTIDENTIFIER::={ policyConstraintMIBConformance 1}policyConstraintMIBGroups
OBJECTIDENTIFIER::={ policyConstraintMIBConformance 2}-- compliance statementspolicyConstraintMIBCompliance MODULE-COMPLIANCE
STATUScurrentDESCRIPTION"The compliance statement for entities which implement the
Policy Routing Addendum for Policy Constraint MIB.
Groups of objects required to support certain functionality
are identified by the suffix MandatoryGroup.
Groups of optional objects are identified by the suffix
OptionalGroup."MODULE-- this moduleMANDATORY-GROUPS{ policyConstraintMIBMandatoryGroup
}--PSIM GROUP atmTraceConnAndPathFilterMandatoryGroup2GROUP policyConstraintMIBOptionalGroup
DESCRIPTION"Required if connection trace or path trace using
filtering of new connection and party establishment messages
is supported."::={ policyConstraintMIBCompliances 1}-- units of conformancepolicyConstraintMIBMandatoryGroup OBJECT-GROUPOBJECTS{
policyConstraintMaximum,
policyMaximum,
policyNeNSCListMaximum,
policyRpNSCListMaximum,
policyIndex,
policyConstraintRowStatus,
requireNeNscOperator,
requireRpNscOperator,
mustAvoidNeNscOperator,
policyRowStatus,
policyNeNsc,
policyNeNscRowStatus,
policyRpNsc,
policyRpNscRowStatus
}STATUScurrentDESCRIPTION"A collection of objects required when policy constraint
specification is supported."::={ policyConstraintMIBGroups 1}policyConstraintMIBOptionalGroup OBJECT-GROUPOBJECTS{
policyNextPolicyConstraintIndex,
policyConstraintName,
policyConstraintNameRowStatus,
policyNextPolicyIndex,
policyName,
policyReferencePCIndex
}STATUScurrentDESCRIPTION"A collection of optional objects used for path and connection
trace."::={ policyConstraintMIBGroups 2}END